Automatic and Interactive Parallelization Automatic and Interactive Parallelization

نویسندگان

  • Kathryn S. McKinley
  • Ken Kennedy
  • Noah Harding
  • Don H. Johnson
  • Danny C. Sorensen
  • Linda Torczon
  • Keith Cooper
  • Don Johnson
چکیده

The goal of this dissertation is to give programmers the ability to achieve high performance by focusing on developing parallel algorithms, rather than on architecture-speciic details. The advantages of this approach also include program portability and legibility. To achieve high performance, we provide automatic compilation techniques that tailor parallel algorithms to shared-memory multiprocessors with local caches and a common bus. In particular, the compiler maps complete applications onto the speciics of a machine, exploiting both parallelism and memory. To optimize complete applications, we develop novel, general algorithms to transform loops that contain arbitrary conditional control ow. In addition, we provide new interprocedural transformations which enable optimization across procedure boundaries. These techniques provide the basis for a robust automatic parallelizing algorithm that is applicable to complete programs. The algorithm for automatic parallel code generation takes into consideration the interaction of parallelism and data locality, as well as the overhead of parallelism. The algorithm is based on a simple cost model that accurately predicts cache line reuse from multiple accesses to the same memory location and from consecutive accesses. The optimizer uses this model to improve data locality. It also uses the model to discover and introduce eeective parallelism that complements the beneets of data locality. The optimizer further improves the eeectiveness of parallelism by seeking to increase its granularity. Parallelism is introduced only when granularity is suucient to overcome its associated costs. The algorithm for parallel code generation is shown to be eecient and several of its component algorithms are proven optimal. The eecacy of the optimizer is illustrated with experimental results. In most cases, it is very eeective and either achieves or improves the performance of hand-crafted parallel programs. When performance is not satisfactory, we provide an interactive parallel programming tool which combines compiler analysis and algorithms with human expertise. Acknowledgments Ken Kennedy provided me with the three most important elements of support in graduate school: intellectual, political and nancial. In addition, Ken, Keith Cooper and Linda Torczon fostered a research atmosphere and working environment whose beneets are untold. I would also like to recognize the other members of my committee, has been an endless source of encouragement and wisdom throughout my graduate career. Don Johnson gave me my rst taste of research and hooked me for life. I am fortunate that many of my fellow graduate students and friends supported my research intellectually, emotionally and with implementations. I would …

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Interactive Parallelizing Assistance Tool for OpenMP: iPat/OMP

This paper proposes an interactive parallelizing assistance tool for OpenMP called iPat/OMP. This tool provides users with the assistance needed for OpenMP parallelization of a sequential program. All of the assistance capabilities are implemented as Emacs functions and are available in the Emacs editor environment in an interactive manner.

متن کامل

Invasive Interactive Parallelization

ABSTRACT In this thesis proposal we suggest an interactive method of parallelizing legacy software that is based on separation of concerns and aspect weaving. We statically inject parallelizing code into sequential cores by means of reusable rewrite rules. We view parallelization as a generic refactoring process with programmable control automated by inferences on structured parallelization cat...

متن کامل

VISTA: The Visual Interface for Scheduling Transformations and Analysis

VISTA is a visually oriented, interactive environment for parallelizing sequential programs at the instruction level for execution on ne-grain architectures. Fully automatic parallelization techniques often perform well, but may not be able to achieve the strict performance and code size requirements needed for some critical applications. In such cases, manual manipulation by an expert user can...

متن کامل

PAP Recognizer: A Tool for Automatic Recognition of Parallelizable Patterns

Techniques for Automatic Program Comprehension can play a crucial role in overcoming limitations of existing tools for the automatic parallelization of programs for distributed-memory architectures. Uses of a program recognition-based parallelization procedure could range from the automatic selection of a data distribution , via the automatic selection of sequences of optimizing transformations...

متن کامل

PSPACE Is Provable By Two Provers In One Round

We show that every language in PSPACE, or equivalently every language accepted by an unbounded round interactive proof system, has a 1-round, 2-prover interactive proof system with exponentially small error probability. To obtain this result, we prove the correctness of a simple but powerful method for parallelizing 2-prover interactive proof systems to reduce their error. 3

متن کامل

An Overview of the PIVOT Environment for Program Restructuring†

The objective of PIVOT, a program ParallelizatIon and VisualizatiOn environmenT, described in this paper is to provide a programming environment that facilitates restructuring of programs for parallelization. The environment supports a range of facilities, including visual and textual forms of specifications for code transformations, automatic generation of transformers from specifications, int...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 1994